﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;

namespace VSWClient.Pages.DataGridClass
{
	/// <summary>
	/// client task table data two-way binding
	/// </summary>
	public class Tasks : INotifyPropertyChanged
	{
		private bool isStartEnabled = false;
		public bool IsStartEnabled
		{
			get { return isStartEnabled; }

			set
			{
				isStartEnabled = value;
				OnPropertyChanged(new PropertyChangedEventArgs("IsStartEnabled"));				
			}
		}

		private bool isEndEnabled = false;
		public bool IsEndEnabled
		{
			get { return isEndEnabled; }

			set
			{
				isEndEnabled = value;
				OnPropertyChanged(new PropertyChangedEventArgs("IsEndEnabled"));
			}
		}

		private string eventNo;
		private string taskNo;
		private string pipeQuantityBatch;
		private string produceDestination;
		private string priority;
		private string batchSampleRule;
		private string stripSampleRule;
		private string recipeNo;
		private string productionStandard;
		private string pipeDurabilityClass;
		private string pipeSteelGrade;
		private string pipeNominalMass;
		private string pipeNominalLength;
		private string pipeMaxLength;
		private string pipeMinLength;
		private string pipeNominalOd;
		private string pipeMaxOd;
		private string pipeMinOd;
		private string pipeNominalThickness;
		private string pipeMinThickness;
		private string innerBeadIsremoving;
		private string innerBeadHeight;
		private string innerBeadDepth;
		private string ovalityUpLimit;
		private string bodyStraightness;
		private string endStraightness;
		private string status;
		private string updateTime;


		public string EventNo
		{
			get => eventNo;
			set
			{
				eventNo = value;
				OnPropertyChanged(new PropertyChangedEventArgs("EventNo"));
			}
		}
		public string TaskNo
		{
			get => taskNo;
			set
			{
				taskNo = value;
				OnPropertyChanged(new PropertyChangedEventArgs("TaskNo"));
			}
		}
		public string PipeQuantityBatch
		{
			get => pipeQuantityBatch;
			set
			{
				pipeQuantityBatch = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeQuantityBatch"));
			}
		}
		public string ProduceDestination
		{
			get => produceDestination;
			set
			{
				produceDestination = value;
				OnPropertyChanged(new PropertyChangedEventArgs("ProduceDestination"));
			}
		}
		public string Priority
		{
			get => priority;
			set
			{
				priority = value;
				OnPropertyChanged(new PropertyChangedEventArgs("Priority"));
			}
		}
		
		public string BatchSampleRule
		{
			get => batchSampleRule;
			set
			{
				batchSampleRule = value;
				OnPropertyChanged(new PropertyChangedEventArgs("BatchSampleRule"));
			}
		}
		public string StripSampleRule
		{
			get => stripSampleRule;
			set
			{
				stripSampleRule = value;
				OnPropertyChanged(new PropertyChangedEventArgs("StripSampleRule"));
			}
		}
		public string RecipeNo
		{
			get => recipeNo;
			set
			{
				recipeNo = value;
				OnPropertyChanged(new PropertyChangedEventArgs("RecipeNo"));
			}
		}
		public string ProductionStandard
		{
			get => productionStandard;
			set
			{
				productionStandard = value;
				OnPropertyChanged(new PropertyChangedEventArgs("ProductionStandard"));
			}
		}		
		public string PipeDurabilityClass
		{
			get => pipeDurabilityClass;
			set
			{
				pipeDurabilityClass = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeDurabilityClass"));
			}
		}						
		public string PipeSteelGrade
		{
			get => pipeSteelGrade;
			set
			{
				pipeSteelGrade = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeSteelGrade"));
			}
		}
		public string PipeNominalMass
		{
			get => pipeNominalMass;
			set
			{
				pipeNominalMass = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeNominalMass"));
			}
		}
		public string PipeNominalLength
		{
			get => pipeNominalLength;
			set
			{
				pipeNominalLength = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeNominalLength"));
			}
		}
		public string PipeMaxLength
		{
			get => pipeMaxLength;
			set
			{
				pipeMaxLength = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeMaxLength"));
			}
		}									
		public string PipeMinLength
		{
			get => pipeMinLength;
			set
			{
				pipeMinLength = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeMinLength"));
			}
		}
		public string PipeNominalOd
		{
			get => pipeNominalOd;
			set
			{
				pipeNominalOd = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeNominalOd"));
			}
		}
		public string PipeMaxOd
		{
			get => pipeMaxOd;
			set
			{
				pipeMaxOd = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeMaxOd"));
			}
		}
		public string PipeMinOd
		{
			get => pipeMinOd;
			set
			{
				pipeMinOd = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeMinOd"));
			}
		}
		public string PipeNominalThickness
		{
			get => pipeNominalThickness;
			set
			{
				pipeNominalThickness = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeNominalThickness"));
			}
		}
		public string PipeMinThickness
		{
			get => pipeMinThickness;
			set
			{
				pipeMinThickness = value;
				OnPropertyChanged(new PropertyChangedEventArgs("PipeMinThickness"));
			}
		}			
		public string InnerBeadIsremoving
		{
			get => innerBeadIsremoving;
			set
			{
				innerBeadIsremoving = value;
				OnPropertyChanged(new PropertyChangedEventArgs("InnerBeadIsremoving"));
			}
		}
		public string InnerBeadHeight
		{
			get => innerBeadHeight;
			set
			{
				innerBeadHeight = value;
				OnPropertyChanged(new PropertyChangedEventArgs("InnerBeadHeight"));
			}
		}
		public string InnerBeadDepth
		{
			get => innerBeadDepth;
			set
			{
				innerBeadDepth = value;
				OnPropertyChanged(new PropertyChangedEventArgs("InnerBeadDepth"));
			}
		}
		public string OvalityUpLimit
		{
			get => ovalityUpLimit;
			set
			{
				ovalityUpLimit = value;
				OnPropertyChanged(new PropertyChangedEventArgs("OvalityUpLimit"));
			}
		}
		public string BodyStraightness
		{
			get => bodyStraightness;
			set
			{
				bodyStraightness = value;
				OnPropertyChanged(new PropertyChangedEventArgs("BodyStraightness"));
			}
		}
		public string EndStraightness
		{
			get => endStraightness;
			set
			{
				endStraightness = value;
				OnPropertyChanged(new PropertyChangedEventArgs("EndStraightness"));
			}
		}
		public string Status
		{
			get => status;
			set
			{
				status = value;
				OnPropertyChanged(new PropertyChangedEventArgs("Status"));
			}
		}
		public string UpdateTime
		{
			get => updateTime;
			set
			{
				updateTime = value;
				OnPropertyChanged(new PropertyChangedEventArgs("UpdateTime"));
			}
		}
		
		public event PropertyChangedEventHandler PropertyChanged;
		public void OnPropertyChanged(PropertyChangedEventArgs e)
		{
			if (PropertyChanged != null)
				PropertyChanged(this, e);
		}
	}
}
